// 管理员表
const mongoose = require("mongoose")
const Schema = mongoose.Schema

const adminSchema = new Schema({
  // 用户名
  name: {
    type: String,
    required: true,
  },
  // 密码
  pass: {
    type: String,
    required: true,
  },
  // 头像
  avatar: {
    type: String,
    default: "/avatar/default.jpg",
  },
  // 封面
  cover: {
    type: String,
    default: "/cover/default.jpg",
  },
  // 职业
  occupation: {
    type: String,
    default: "暂无职业",
  },
  // 简介
  des: {
    type: String,
    default: `这个人很懒，什么都没有留下`,
  },
  // 邮箱地址
  email: {
    type: String,
    required: true,
  },
  // 手机号
  phone: {
    type: String,
  },
  // 是否为超管
  supertube: {
    type: Boolean,
    default: false,
  },
  // 是否为管理员
  admintor: {
    type: Boolean,
    default: true,
  },
  // 是否具有删除文章权限
  deletepower: {
    type: Boolean,
    default: false,
  },
  // 是否具有添加文章权限
  addpower: {
    type: Boolean,
    default: false,
  },
  // 是否具有修改文章权限
  updatepower: {
    type: Boolean,
    default: false,
  },
  // 是否接受预约消息提醒
  ordernotiy: {
    type: Boolean,
    default: true,
  },
  // 是否具有修改页面展示内容权限
  showClientpower: {
    type: Boolean,
    default: false,
  },
  // 是否具有添加页面展示内容的权限
  addClientpower: {
    type: Boolean,
    default: true,
  },
  // 是否具有删除页面展示内容的权限
  delClientpower: {
    type: Boolean,
    default: false,
  },
  // 系统未读消息条数
  systemUnread: {
    type: Number,
    default: 0,
  },
  // 节日祝福未读消息条数
  festivalUnread: {
    type: Number,
    default: 0,
  },
  // 用户预约未读消息条数
  appointmentUnread: {
    type: Number,
    default: 0,
  },
  // 星标信息未读条数
  startUnread: {
    type: Number,
    default: 0,
  },
  // 消息列表
  messageList: [
    {
      // 是否将该消息加入星标
      ifMark: {
        type: Boolean,
        default: false,
      },
      // 是否已读
      ifRead: {
        type: Boolean,
        default: false,
      },
      // 是否星标已读
      ifStartRead: {
        type: Boolean,
        default: false,
      },
      // 消息标题
      title: String,
      // 消息内容
      des: String,
      //  0: 系统消息  1: 节日祝福  2: 用户预约 3: 星标信息
      type: {
        type: Number,
        default: 0,
      },
      // 最初始的消息类型 不可变
      constType: {
        // 0: 系统消息  1: 节日祝福  2: 用户预约
        type: Number,
        default: 0,
      },
      // 收到消息时间
      time: {
        type: Date,
        default: Date.now,
      },
    },
  ],
  // 创建时间
  time: {
    type: Date,
    default: Date.now,
  },
})

module.exports = mongoose.model("admins", adminSchema)
